home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005 / CHIP Utilities 2005.iso / dosapps / freedos / doc / format / news.txt < prev    next >
Encoding:
Text File  |  2003-07-17  |  12.0 KB  |  296 lines

  1. NEWS.TXT
  2.  
  3. Version History:
  4.  
  5. Future Plans
  6. TO-DO         Modify safe formatting such that it avoids overwriting data. 
  7.               (Create a mirror.fil before deleting the file system.)
  8.  
  9. TO-DO         Add the capability to utilize the non-standard floppy format
  10.           features.  (Add the appropriate switches to the command line.)
  11.  
  12. TO-DO         Debug FAT32 support.
  13.  
  14. TO-DO         Fix any other bugs.
  15.  
  16. TO-DO         When system files are written, the summary must subtract the
  17.               amount of space they take up from the total disk space.
  18.  
  19. TO-DO         Clean up the source code.
  20.  
  21. TO-DO         Have the program check to see if there is already an existing
  22.               format (and what type of format) before the media is formatted.
  23.  
  24. TO-DO         Add international language support.
  25.  
  26.  
  27.  
  28. Version 0.90
  29.               Changes by Bart Oldeman:
  30.                 1.  Repaired the makefile
  31.                 2.  Removed the complete_fat32_ext_bpb()
  32.                 3.  Set first field of parameter block for int 0x21/0x440d
  33.                 4.  Converted fsinfor 512 byte struct to static in order
  34.                     to save stack space.
  35.                 5.  Initialized the fsinfo with actual total free
  36.                     number of clusters and cluster to start looking instead
  37.                     of setting to 0xffffffff.
  38.                 6.  Improved FAT12 detection (number of clusters < 4085)
  39.                 7.  Minor cleanups.
  40.               Changes by Brian Reifsnyder:
  41.                 1.  Minor code clean-up.
  42.                 2.  Fixed a bug that resulted in an error when using the /t
  43.                     and /n switches.
  44.                 3.  Added code to retry int 0x25/0x26 drive access 3 times.
  45.                 4.  Changed error message that results from an invalid
  46.                     argument parameter that was entered.
  47.                 5.  The program now verifies that it can execute the sys
  48.                     command before attempting execution.  If the sys command
  49.                     is not located, an error message is displayed and format
  50.                     continues without writing the system files.
  51.                 6.  Improved the critical error handler code such that more
  52.                     accurate error messages are displayed.
  53.                 7.  On returns of ax=0x0408, bit 7 is now set in the drive
  54.                     number as per a note in RBIL, int 0x25/0x26.
  55.                 8.  The serial number applied to the disk is now based upon
  56.                     the date and time.
  57.  
  58. Version 0.90  Divided the source code up into smaller files.
  59. DEV
  60.               Modified the code that creates the filesystem in order to
  61.               support FAT32.
  62.  
  63.               Fixed a bug that resulted in an error when using the /f:<size>
  64.               switch.  
  65.  
  66.               Finished adding FAT32 support.  FAT32 support is considered
  67.               to be alpha until it is mentioned otherwise in this file.
  68.  
  69. Version 0.85  Removed all of the old command line support.
  70.  
  71.               Modified getopt.c so that it will support the use of the
  72.               drive letter at any location in the command line.
  73.  
  74.               Added bad sector scanning and recording for floppy disks.
  75.  
  76.               Added bad sector scanning and recording for FAT12/FAT16 hard
  77.               disk partitions.
  78.  
  79.               Started adding support for FAT32.  FAT32 support is nowhere
  80.               near usable or testable, at this time.
  81.  
  82. Version 0.81  Jim Hall disabled the old command line support and added
  83.               getopt via the getopt.c and getopt.h files.  See 'CHANGES'
  84.               for more details.
  85.  
  86.               This version was not released and was used as a base for
  87.               version 0.85.
  88.  
  89. Version 0.8   Version 0.8 Pre 2 DEV, after testing.
  90.  
  91. Version 0.8   Removed pdiskio.c and replaced it with interrupt 0x25/0x26
  92. Pre 2 DEV     code in order to access the hard disks through the DOS kernel.
  93.  
  94.               Contains Patches and fixes, from Tom Ehlert, that improve
  95.               portability.
  96.  
  97.               Contains interrupt 0x25/0x26 code written by Tom Ehlert.
  98.  
  99.               Thanks to James Clark, author of DiskMan, for sending me
  100.               information on enabling interrupt 0x25/0x26 access on an
  101.               unformatted logical drive.
  102.  
  103.               Any hard disk formatting is temporarily forced to the options
  104.               of "/u /q".  This is done to insure proper formatting of the
  105.               hard drive.  Since bad sector detection has yet to be added,
  106.               any hard disk formats should be set to these options anyhow.
  107.          
  108. Version 0.7   Fixed bug that caused the FAT tables to be off by 1 sector,
  109.           under certain circumstances.
  110.  
  111.           Fixed the problem that caused the summary messages to have
  112.           ascii characters, at the end of the numbers, when the format
  113.           was finished.
  114.  
  115. Version 0.6   Added an updated pdiskio.c library.
  116. Pre 3 DEV
  117.           Converted format.cpp to format.c.
  118.  
  119. Version 0.6   Fixed a bug in the BPB created for hard disks.
  120. Pre 2
  121.           Added a /y switch to the command line to prevent format
  122.           from asking for a confirmation to format the disk.
  123.  
  124.           Added autodetect capability for 2.88MB floppy drives.
  125.      
  126.           Added interleave handling code for non-standard floppy formats.
  127.  
  128.           Added sector skew calculation code for non-standard floppy formats.
  129.  
  130.           Minor bug fixes.
  131.  
  132.           Added BPB information for non-standard floppy formats.
  133.  
  134.           Added safe formatting capability.  The mirror image created is
  135.           not compatible with MS's UNFORMAT command.  The mirror image is
  136.           only compatible with the FreeDOS UNFORMAT command.
  137.  
  138.           Added the capability to unconditionally format hard disks.  This code
  139.           is rather slow, in this version, and needs optimized.
  140.  
  141.           Added error handling code.
  142.  
  143.           Fixed a bug that allowed you to enter invalid drive letters.
  144.  
  145. Version 0.6   Major re-write to enable the program to format all types of floppy
  146. Pre 1         disks.
  147.  
  148.           Added a module from the development version of Free FDISK 0.98 in
  149.           order to easily add direct disk access and the possibility of
  150.           future LBA support.
  151.  
  152.           Compressed the executable with APACK, by Joergen Ibsen.
  153.  
  154. Version 0.5   Added code to specify exact number of sectors per FAT and 
  155.           number of root directory entries for the following floppy
  156.           drives:  1.44MB 3.5", 1.2MB 5.25", 720K 3.5", & 360K 5.25"
  157.           (The only drive that is known to be successfully formatted is
  158.           1.44MB 3.5".)
  159.  
  160.           Added information to the help screen.             
  161.  
  162.           The help screen can be displayed by either typing "FORMAT" or
  163.           "FORMAT /?"
  164.  
  165.           Adjusted equation for computing the total logical partition 
  166.           size which fixed a bug causing an unconditional format to 
  167.           format into the next partition.
  168.  
  169.           Added code to optimize the formatting process and unconditionally 
  170.           format a track at a time.
  171.  
  172.           Now marks bad sectors in the FAT table for FAT12 partitions.
  173.  
  174.           Increase speed of unconditionally formatting a hard disk by
  175.           writing a track at a time instead of a sector at a time.
  176.  
  177.           Fixed a bug that prevented accurate boot sectors from being
  178.           written in FAT12 partitions on hard disks.
  179.  
  180.           Changed the location of the bad sector map initialization code to 
  181.           prevent errors reading the disk when formatting with both /u and
  182.           /q.
  183.  
  184.           Added code to terminate formatting if a bad sector is encountered
  185.           in boot sector, FAT tables, or root directory.
  186.  
  187.           Discovered that the program would write to bad sectors and not
  188.           save their locations in the bad sector map.  Added code to verify
  189.           that the sectors are good to rectify this problem.  If the sectors
  190.           fail verification then it is marked in the bad sector map to be
  191.           later recorded in the FAT tables.
  192.  
  193.           Fixed a bug that where the program did not always pass a null 
  194.           terminated string to the "sys" command when writing system files
  195.           while formatting a disk.
  196.  
  197. Version 0.4   Now supports up to 8 physical drives.
  198.  
  199.           Added error trapping to avoid trying to save the file system of 
  200.           an unformatted drive.
  201.  
  202.           Added the "/s" switch to make the disk bootable.  (Presently
  203.           only works under MS-DOS.)
  204.  
  205.           Added code to force the volume label to all capital letters.
  206.  
  207.           Fixed a volume label creation bug where the volume label is not
  208.           correctly added to the boot sector.
  209.  
  210.           Fixed the bug that prevented a mirror image being created on 
  211.           sectors that had a numbers exceeding 1677216.
  212.  
  213.           Fixed a bug that caused the wrong number of sectors to be entered
  214.           in the boot sector and processed elsewhere in the program.
  215.  
  216.           Now marks bad sectors in the FAT table for FAT16 partitions
  217.           when unconditionally formatting a hard disk.
  218.  
  219. Version 0.3   Added code to save the file system into a "mirror" at the end
  220.           of the disk.  This "mirror" image is compatible with the 
  221.           unformat command I have written.
  222.  
  223.           Moved the logical drive location adjustment code to a 
  224.           centralized location under the Convert_Logical_To_Physical()
  225.           function.  This should make the program easier to modify in the
  226.           future because the now the programmer only has to refer to the
  227.           sector number on the logical drive.  The programmer will not
  228.           have to adjust for the beginning of a hard drive partition 
  229.           when entering what sector to access.
  230.  
  231. Version 0.2   Added /v switch to create a volume label on a newly formatted
  232.           disk.
  233.  
  234.           Modified the command line parsing code to eliminate the need 
  235.           for the string.h library.
  236.  
  237.           Changed the error-level codes to match those in my IBM DOS 5.0
  238.           User's Guide and Reference.
  239.  
  240.           Corrected the code for processing the /q /u switches so that the
  241.           program formats as per my DOS manual.
  242.  
  243.           Added more code to process the various switches that can be
  244.           entered.
  245.  
  246.           Adjusted sectors per cluster conversion table.
  247.  
  248.           Added functionality to support up to 4 hard drives with a 
  249.           maximum of 26 partitions per hard drive.  The program will now
  250.           resolve the drive letter into a physical location to format on
  251.           a hard disk.
  252.  
  253. Version 0.1   Replaced the sloppy code in the Convert_Logical_To_Physical
  254.           function with equations.  Thanks go to Jan Verhoeven for 
  255.           supplying the equations.
  256.  
  257.           Too many code changes to list here.
  258.  
  259.           Added a quick formatting routine, format drive: /q now will quick
  260.           format a drive.
  261.  
  262.           Added more values to the boot sector that were missing in version
  263.           0.01.  
  264.         
  265.           To unconditionally format a drive, format drive: /u must be 
  266.           entered.  Unconditionally formatting a drive does not yet
  267.           mark bad sectors or clusters in the FAT tables.
  268.  
  269.           The program will format 1.44 MB 3.5" floppy disks or the first 
  270.           partition of the first hard drive.  The program considers any
  271.           drive letter starting with c: to be the first partition on the
  272.           first hard disk.  This will be corrected in a future release.
  273.  
  274. Version 0.01  Formats 3.5" 1.44MB floppy disks.
  275.  
  276.           Uses BIOS interrupts to allow it to work under FreeDOS.
  277.  
  278.           Has not been tested with other size floppy disks.
  279.  
  280.           The "This disk is not bootable" code was taken from the boot
  281.           sector of a floppy disk formatted with the "mkfs -t msdos"
  282.           command on a Linux PC.
  283.  
  284.           Most of the "infrastructure" is in place to enable this program
  285.           to format disks without using DOS interrupts.
  286.  
  287.           Has sections of debugging code.
  288.  
  289.           Only formats the 1st partition on the 2nd hard disk.  (It is
  290.           harder to debug a program when you are always formatting 
  291.           your C: drive.  :-)  )
  292.   
  293.           Has sections of "rough" code that need to be modified.
  294.           (i.e.  if statements that are always true)
  295.  
  296.